{
  "cells": [
    {
      "attachments": {},
      "cell_type": "markdown",
      "id": "245a954a",
      "metadata": {},
      "source": [
        "# OpenWeatherMap API\n",
        "\n",
        "This notebook goes over how to use the OpenWeatherMap component to fetch weather information.\n",
        "\n",
        "First, you need to sign up for an OpenWeatherMap API key:\n",
        "\n",
        "1. Go to OpenWeatherMap and sign up for an API key [here](https://openweathermap.org/api/)\n",
        "2. pip install pyowm\n",
        "\n",
        "Then we will need to set some environment variables:\n",
        "1. Save your API KEY into OPENWEATHERMAP_API_KEY env variable"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "961b3689",
      "metadata": {
        "vscode": {
          "languageId": "shellscript"
        }
      },
      "outputs": [],
      "source": [
        "pip install pyowm"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 35,
      "id": "34bb5968",
      "metadata": {},
      "outputs": [],
      "source": [
        "import os\n",
        "os.environ[\"OPENWEATHERMAP_API_KEY\"] = \"\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 36,
      "id": "ac4910f8",
      "metadata": {},
      "outputs": [],
      "source": [
        "from langchain.utilities import OpenWeatherMapAPIWrapper"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 37,
      "id": "84b8f773",
      "metadata": {},
      "outputs": [],
      "source": [
        "weather = OpenWeatherMapAPIWrapper()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 38,
      "id": "9651f324-e74a-4f08-a28a-89db029f66f8",
      "metadata": {},
      "outputs": [],
      "source": [
        "weather_data = weather.run(\"London,GB\")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 39,
      "id": "028f4cba",
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "In London,GB, the current weather is as follows:\n",
            "Detailed status: overcast clouds\n",
            "Wind speed: 4.63 m/s, direction: 150°\n",
            "Humidity: 67%\n",
            "Temperature: \n",
            "  - Current: 5.35°C\n",
            "  - High: 6.26°C\n",
            "  - Low: 3.49°C\n",
            "  - Feels like: 1.95°C\n",
            "Rain: {}\n",
            "Heat index: None\n",
            "Cloud cover: 100%\n"
          ]
        }
      ],
      "source": [
        "print(weather_data)"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.11.2"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}
